home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr11 / nwam9306.zip / MAXEY-06.ART < prev    next >
Text File  |  1993-06-07  |  5KB  |  135 lines

  1. NWA-MCUG 6/93 NewsLetter Article
  2. Rt 4 Box 376 Springdale, AR 72762-9307
  3.  
  4.                             SAMENAME
  5.                                by
  6.                         E. Stanton Maxey
  7.  
  8. Do you have multiple hard disks?  Have you partitioned your big hard disk into 
  9. several drives?  Do you sometimes find that you have saved the same program 
  10. in several different places?  If your response to any of these questions is 
  11. "yes", SAMENAME may interest you. 
  12.  
  13. SAMENAME consists of SAMENAME.BAT and SAMENAME.BAS.  It requires that 
  14. ATTRIB.EXE and LIST.EXE be available in the same directory or somewhere on 
  15. your PATH.  LIST.EXE is an external command program available on many BBSs.  
  16. CD1 must also be created and reside in the directory from which you intend to 
  17. implement SAMENAME. 
  18.  
  19. CD1 is a text file used by SAMENAME.BAT in writing RETRN.BAT, a file which is 
  20. called to return you to the implementing directory. Create CD1 from the 
  21. keyboard by the following keystrokes: 
  22.      Copy con CD1 [enter]
  23.      CD1 ^Z [enter] (That's a Ctrl+Z and then the enter key)
  24. The space before the ^Z is necessary.
  25.  
  26. Here's the SAMENAME.BAT listing:
  27.      @echo off
  28.      copy cd1 c:\retrn.bat
  29.      cd >> c:\retrn.bat
  30.      cd\
  31.      cd >> c:\retrn.bat
  32.      if %1!==! goto MSG
  33.      REM set used to convert to Upper case
  34.      set %1=xxx
  35.      for %%a in(%BAT%, %COM%, %EXE%) do if %%a==xxx goto START
  36.      goto MSG
  37.      :START
  38.      set %1=
  39.      c:
  40.      cd\
  41.      attrib *.%1 /s > c:\txt
  42.      d:
  43.      cd\
  44.      attrib *.%1 /s >> c:\txt
  45.      g:
  46.      cd\
  47.      attrib *.%1 /s >> c:\txt
  48.      d:
  49.      cd\dos
  50.      gwbasic samename
  51.      c:
  52.      del txt
  53.      list samename.txt
  54.      del samename.txt
  55.      cls
  56.      goto END
  57.      :MSG
  58.      set %1=
  59.      echo SAMENAME requires one of the following parameters,
  60.      echo      BAT or bat
  61.      echo      COM or com
  62.      echo      EXE or exe
  63.      :END
  64.      retrn
  65. SAMENAME.BAT checks the C, D & G drives; you can edit this to include the 
  66. drives on your system.  You must also edit the d: & cd\ lines preceding GWBASIC 
  67. SAMENAME if your GWBASIC is in some other drive or directory than those given. 
  68.  
  69. Here's the SAMENAME.BAS listing.
  70. 10 DIM A$(1000)
  71. 20 OPEN "I", #1, "C:\TXT"
  72. 30 OPEN "O", #2, "C:\SAMENAME.TXT"
  73. 40 IF EOF (1) THEN GOTO 320
  74. 50 INPUT #1, A$
  75. 60 N=N+1'                                 log number of entries
  76. 70 '                            next line removes "A" attribute
  77. 80 IF LEFT$(A$,1)="A" THEN A$=RIGHT$(A$, LEN(A$)-11)
  78. 90 FOR V=1 TO LEN(A$)'                    get last "\" position
  79. 100 IF MID$(A$,V,1)="\" THEN B=V
  80. 110 NEXT V
  81. 120 C$=LEFT$(A$,B)'                          C$ is name of path
  82. 130 D$=RIGHT$(A$, LEN(A$)-(B))'         D$ is path name of file
  83. 140 IF LEN (D$)<13 THEN D$=D$+" ":GOTO 140'     D$ padded to 13
  84. 150 D$=D$+C$'                     D$ is now file name plus path
  85. 160 GOSUB 180
  86. 170 GOTO 40
  87. 180 FOR V1=1 TO N'                   Move strings to make space
  88. 190 IF A$(V1)="" THEN A$(V1)=D$:GOTO 280'   Load D$ into A$(v1)
  89. 200 IF LEFT$(A$(V1),12)=LEFT$(D$,12) THEN GOSUB 290:GOTO 220
  90. 210 IF D$> A$(V1) GOTO 270'                    No change needed
  91. 220 FOR V2=N TO V1 STEP -1'      Move strings down to make room
  92. 230 A$(V2)=A$(V2-1)
  93. 240 NEXT V2
  94. 250 A$(V1)=D$'                       Insert next D$ into A$(V1)
  95. 260 GOTO 280
  96. 270 NEXT V1
  97. 280 RETURN
  98. 290 IF LEN(D$)<40 THEN D$=D$+"-":GOTO 290'   expand D$ with "-"
  99. 300 D$=D$+"-Duplicate file names" '           add duplicate tag
  100. 310 RETURN
  101. 320 FOR X=1 TO N'                            Create sorted file
  102. 330 PRINT #2,A$(X)
  103. 340 NEXT X
  104. 350 PRINT #2,N " files sorted."
  105. 360 SYSTEM
  106.  
  107. Upon entering SAMENAME from the keyboard you'll get an error message 
  108. requiring that the file extension you desire be included on the command line.  
  109. Upon proper entry SAMENAME 
  110.      1) creates RETRN.BAT which it will call in order to return
  111.      you to the initiating directory,
  112.      2) uses ATTRIB with the "*" wildcard, the extension from the
  113.      command line and the "/s" switch to create a TXT file,
  114.      3) calls GWbasic SAMENAME to sort the TXT file, note
  115.      duplicates and create the SAMENAME.TXT file,
  116.      4) calls LIST to display the SAMENAME.TXT file,
  117.      5) deletes both the TXT and the SAMENAME.TXT files and
  118.      6) calls RETRN.BAT to get back to the originating directory.
  119.  
  120. Here's a sample of what LIST's output.
  121.      PCPLUS.EXE   D:\PCPLUS\
  122.      PCSECURE.EXE D:\PCTOOLS\
  123.      PCSETUP.EXE  D:\PCTOOLS\------------Duplicate file names
  124.      PCSETUP.EXE  D:\PCPLUS\
  125.      PCSHELL.EXE  D:\PCTOOLS\
  126.      PI.EXE       C:\TP\EXEC\------------Duplicate file names
  127.      PI.EXE       C:\TC\-----------------Duplicate file names
  128.      PI.EXE       C:\TC\EXAMPLES\
  129.      PIANO.EXE    D:\GAMES\
  130.      PKARC.EXE    D:\SHEZ\PKARC\
  131.  
  132. Call Bill Shook and download this article if you'd like to try the programs 
  133. without having to enter them by hand.  Have fun!
  134.  
  135.